/*/
 * Class representing a tester for measuring a single file performance in a FAT 32 file system.
 * The class implements the SingleFilePref interface.
 */

#ifndef FAT32PREF_H
#define FAT32PREF_H

#include <vector>
#include "SingleFilePref.h"

class FAT32Pref : public SingleFilePref {

private:

public:
	//Functions:

	//constructor:
	FAT32Pref(unsigned int maximalSize, unsigned int blockSize,	unsigned int pointerSize);

	//Checks whether the file system can operate under the given constraints.
	//Returns true if the file system can operate under the constraints, false otherwise.
	virtual int areConstraintsPossilble();

	//Measures the amount of space taken by the file in a FAT32 file system and the average number of blocks needed to access it's bytes.
	//The result is assigned to the output structure given as a parameter.
	virtual int singleFileSystemPerformance(unsigned int fileSize,outputStruct *output);
};
#endif
